package com.twinkle.abmsspringboot.mapper;

import com.twinkle.abmsspringboot.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * ABMS - SpringBoot
 * <p>mapper 用户信息</p>
 * <p>mapper -> interface :UserInfoMapper -> implement :userinfo-mapper.xml</p>
 * <p>
 * 更新了形参变量名
 *
 * @author Twinkle
 * @since 2 Aug. 2021
 * @since 4 Aug. 2021
 */
@Mapper
public interface UserInfoMapper {

    /**
     * 登录校验
     *
     * @param loginUserInfo 传回的登录信息
     * @return UserInfo 对象
     */
    UserInfo checkLoginInfo(@Param("loginUserInfo") UserInfo loginUserInfo);

//    public List<UserInfo> selectUserinfoAll();

    /**
     * 新增用户信息
     * <p>
     * 执行结果值大于 0，执行成功；反之，执行失败
     *
     * @param userInfo 用户信息
     * @return 执行结果
     */
    int insertUserinfo(@Param("reUserInfo") UserInfo userInfo);

//    public int deleteUserinfo(@Param("userId") Integer para_userInfoId);

    /**
     * 更新用户信息
     * <p>
     * 执行结果值大于 0，执行成功；反之，执行失败
     *
     * @param userInfo 用户信息
     * @return 执行结果
     */
    int updateUserinfo(@Param("upUserInfo") UserInfo userInfo);

    UserInfo selectUserInfoOne(@Param("reUsername") String reUsername);
}
